using System.ComponentModel.DataAnnotations;
using UniversalAdmin.Shared.Enums;

namespace UniversalAdmin.Application.DTOs;

public class DocumentPermissionDto
{
    public Guid Id { get; set; }
    public Guid DocumentId { get; set; }
    public PermissionType PermissionType { get; set; }
    public Guid? UserId { get; set; }
    public Guid? RoleId { get; set; }
    public DateTime CreatedAt { get; set; }
    public DateTime? UpdatedAt { get; set; }
}

public class CreateDocumentPermissionDto
{
    [Required]
    public Guid DocumentId { get; set; }
    [Required]
    public PermissionType PermissionType { get; set; }
    public Guid? UserId { get; set; }
    public Guid? RoleId { get; set; }
}

public class UpdateDocumentPermissionDto
{
    [Required]
    public PermissionType PermissionType { get; set; }
    public Guid? UserId { get; set; }
    public Guid? RoleId { get; set; }
}

public class RelevanceScoreDto
{
    public Guid DocumentId { get; set; }
    public double Score { get; set; }
}